/*
 *
 * (c) Copyright Ascensio System Limited 2010-2023
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
*/


using System.Collections.Generic;
using System.Linq;
using System.Web;

using ASC.Web.Core.Mobile;
using ASC.Web.Core.Utility;
using ASC.Web.Projects.Resources;
using ASC.Web.Studio.Utility;

namespace ASC.Web.Projects
{
    public partial class GanttChart : BasePage
    {
        protected override bool CanRead { get { return !MobileDetector.IsMobile; } }
        protected override bool CheckSecurity { get { return CanRead; } }
        protected string HelpLink { get; set; }
        protected List<CustomTaskStatus> Statuses { get; set; }

        protected override void PageLoad()
        {
            Master.DisabledSidePanel = true;

            Statuses = EngineFactory.StatusEngine.GetWithDefaults()
                .OrderBy(t => t.StatusType)
                .ThenBy(t => t.Order)
                .ToList();

            _hintPopupTaskRemove.Options.IsPopup = true;
            _hintPopupMilestoneRemove.Options.IsPopup = true;
            _hintPopupMilestoneTasks.Options.IsPopup = true;
            _hintPopupTaskWithSubtasks.Options.IsPopup = true;
            _moveTaskOutMilestone.Options.IsPopup = true;
            _addNewLinkPopup.Options.IsPopup = true;

            if(ModeThemeSettings.GetModeThemesSettings().ModeThemeName == ModeTheme.dark)
            {
                Page.RegisterStyle("~/Products/Projects/App_Themes/dark/dark-ganttchart.less");
            }
            else
            {
                Page.RegisterStyle("~/Products/Projects/App_Themes/default/css/ganttchart.less");
            }

            HelpLink = CommonLinkUtility.GetHelpLink();

            if (!string.IsNullOrEmpty(HelpLink))
            {
                HelpLink = HelpLink.TrimEnd('/') + "/projects.aspx";
            }

            Title = HeaderStringHelper.GetPageTitle(ProjectResource.GanttGart);
        }
    }
}